package com.hand.demo.domain.entity;

import java.util.Date;

import com.fasterxml.jackson.annotation.JsonInclude;
import io.choerodon.mybatis.annotation.ModifyAudit;
import io.choerodon.mybatis.annotation.VersionAudit;
import io.choerodon.mybatis.domain.AuditDomain;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 人才标签表(HhrTaTags)实体类
 *
 * @author
 * @since 2025-07-02 11:10:32
 */

@ApiModel("人才标签表")
@VersionAudit
@ModifyAudit
@JsonInclude(value = JsonInclude.Include.NON_NULL)
@Table(name = "hhr_ta_tags")
public class HhrTaTags extends AuditDomain {
    private static final long serialVersionUID = -18870540057268302L;

    public static final String FIELD_ID = "id";
    public static final String FIELD_CATEGORY_ID = "categoryId";
    public static final String FIELD_CREATE_TIME = "createTime";
    public static final String FIELD_IS_DELETED = "isDeleted";
    public static final String FIELD_IS_ENABLED = "isEnabled";
    public static final String FIELD_TAG_ITEM_NAME = "tagItemName";
    public static final String FIELD_TENANT_ID = "tenantId";
    public static final String FIELD_UPDATE_TIME = "updateTime";

    @ApiModelProperty("主键ID")
    @Id
    @GeneratedValue
    private Long id;

    @ApiModelProperty(value = "所属分类：标签归属分类ID，来源于已启用的标签分类", required = true)
    @NotNull
    private Long categoryId;

    @ApiModelProperty(value = "创建时间：标签或分类创建时间")
    private Date createTime;

    @ApiModelProperty(value = "逻辑删除标记：0-未删除，1-已删除")
    private Integer isDeleted;

    @ApiModelProperty(value = "启用状态：是否启用（启用/失效），默认启用")
    private Integer isEnabled;

    @ApiModelProperty(value = "标记项目名称", required = true)
    @NotBlank
    private String tagItemName;

    @ApiModelProperty(value = "租户ID", required = true)
    @NotNull
    private Long tenantId;

    @ApiModelProperty(value = "更新时间")
    private Date updateTime;


    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getCategoryId() {
        return categoryId;
    }

    public void setCategoryId(Long categoryId) {
        this.categoryId = categoryId;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Integer getIsDeleted() {
        return isDeleted;
    }

    public void setIsDeleted(Integer isDeleted) {
        this.isDeleted = isDeleted;
    }

    public Integer getIsEnabled() {
        return isEnabled;
    }

    public void setIsEnabled(Integer isEnabled) {
        this.isEnabled = isEnabled;
    }

    public String getTagItemName() {
        return tagItemName;
    }

    public void setTagItemName(String tagItemName) {
        this.tagItemName = tagItemName;
    }

    public Long getTenantId() {
        return tenantId;
    }

    public void setTenantId(Long tenantId) {
        this.tenantId = tenantId;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

}

